package com.example.demo.security.otp.api;

/**
 * 枚举定义了可用的哈希算法。
 * 该枚举目前只包含一个值，但可以根据需要扩展以支持更多的哈希算法。
 *
 * @author houp
 */
public enum Hash {

    /**
     * HMACSHA1算法标识。
     * HMACSHA1是一种基于SHA-1哈希函数的HMAC（Hash-based Message Authentication Code）算法。
     */
    SHA1("HMACSHA1");

    /**
     * 哈希算法的字符串表示。
     * 这个字段用于存储枚举常量所代表的哈希算法的名称。
     */
    private String hash;

    /**
     * 构造函数初始化哈希算法枚举值。
     *
     * @param hash 哈希算法的字符串表示。
     */
    Hash(String hash) {
        this.hash = hash;
    }

    /**
     * 重写toString方法，返回哈希算法的字符串表示。
     *
     * @return 哈希算法的字符串表示。
     */
    @Override
    public String toString() {
        return hash;
    }
}
